#pragma once
#include <middleware/gm_api/skfapi.h>
#include "gm_handle.h"

class gm_sc_digest : public gm_handle
{
public:
	gm_sc_digest(void);
	gm_sc_digest(ULONG algid);
	~gm_sc_digest(void);

	void set_alg_id(ULONG val){_algid = val;}
	ULONG get_alg_id(){return _algid;}

	BOOL is_hardware() { return _isHardware;}

	void use_software_engine();

	ULONG get_block_size();

	static ULONG get_block_size(ULONG algId);

	static ULONG get_dev_alg_id(ULONG algId);


private:
	ULONG	_algid;
	BOOL    _isHardware;
};
